% 03-test_design.tex - 测试方案设计
\section{测试方案设计}
\subsection{测试环境}
\subsubsection{硬件环境}
\begin{table}[H]
    \centering
    \caption{测试硬件配置}
    \label{tab:hardware}
    \begin{tabular}{ll}
        \toprule
        组件 & 配置 \\
        \midrule
        CPU & Intel Xeon Silver 4210R (2颗，共20核40线程) @ 2.40GHz \\
        内存 & 62GB DDR4 (可用52GB) \\
        存储 & 7.3TB HDD (读写速度442 MB/s) \\
        网络 & 千兆以太网 (Speed: 1000Mb/s, 全双工) \\
        L1缓存 & 32KB (数据) + 32KB (指令) 每核心 \\
        L2缓存 & 1MB 每核心 \\
        L3缓存 & 14MB 每CPU (共28MB) \\
        系统架构 & x86\_64, 支持虚拟化 (VT-x) \\
        \bottomrule
    \end{tabular}
\end{table}

\textbf{硬件配置说明：}
\begin{itemize}
    \item \textbf{CPU配置：} 双路Intel Xeon Silver 4210R处理器，每颗CPU 10核心20线程，基础频率2.40GHz，最大睿频3.20GHz
    \item \textbf{内存架构：} NUMA架构，2个NUMA节点，支持DDR4内存
    \item \textbf{存储系统：} 7.3TB机械硬盘，采用LVM逻辑卷管理\\
    包含根分区(50G)、交换分区(31G)、家目录分区(7.2T)
    \item \textbf{网络接口：} 千兆以太网接口(em1)，支持10GbE但当前运行在1Gb模式
\end{itemize}

\subsubsection{软件环境}
\begin{itemize}
    \item \textbf{操作系统：} CentOS Linux 7.9.2009 (Core)
    \item \textbf{内核版本：} 3.10.0-1160.el7.x86\_64
    \item \textbf{容器引擎：} Docker 27.4.1 (包含Docker Compose、Buildx等插件)
    \item \textbf{虚拟化支持：} 已启用KVM虚拟化，检测到多个Docker网桥和虚拟网络接口
    \item \textbf{系统架构：} x86\_64，支持64位应用
\end{itemize}

\textbf{软件环境补充说明：}
\begin{itemize}
    \item \textbf{容器网络：} 系统已配置多个Docker网桥(br-*)，表明容器网络环境已就绪
    \item \textbf{内存管理：} 系统配置31GB交换空间，当前使用率较低(48M/31G)
    \item \textbf{存储管理：} 采用LVM逻辑卷管理，便于后续存储扩展和调整
\end{itemize}

\subsection{测试指标}
\subsubsection{功能性指标}
\begin{itemize}
    \item \textbf{协议兼容性：} MySQL/PostgreSQL语法支持度、SQL标准兼容性；
    \item \textbf{部署复杂度：} 部署步骤数、自动化程度、依赖项管理；
    \item \textbf{生态工具：} 备份恢复工具、监控告警支持、迁移工具完整性；
    \item \textbf{高可用性：} 故障切换时间、数据一致性保证。
\end{itemize}

\subsubsection{性能指标}
\begin{itemize}
    \item \textbf{吞吐量指标：}
        \begin{itemize}
            \item 每秒事务数(TPS) - OLTP场景核心指标
            \item 每秒查询数(QPS) - 读密集型场景指标
            \item 数据写入速度(MB/s) - 时序数据库重点指标
        \end{itemize}
    \item \textbf{延迟指标：}
        \begin{itemize}
            \item 平均响应时间(ms)
            \item 95\%分位延迟(ms)
            \item 最大响应时间(ms)
        \end{itemize}
    \item \textbf{资源占用指标：}
        \begin{itemize}
            \item CPU使用率(\%)
            \item 内存消耗(GB) - 包括常驻内存和峰值内存
            \item 存储空间占用(GB) - 数据文件大小和索引大小
            \item 网络带宽使用(Mb/s)
        \end{itemize}
    \item \textbf{可扩展性指标：}
        \begin{itemize}
            \item 并发连接数支持
            \item 数据量增长对性能的影响
            \item 水平扩展能力
        \end{itemize}
\end{itemize}

\subsubsection{稳定性指标}
\begin{itemize}
    \item \textbf{长时间运行：} 7×24小时持续运行稳定性
    \item \textbf{压力恢复：} 高负载后的恢复时间
    \item \textbf{故障容忍：} 网络中断、节点故障的恢复能力
\end{itemize}

\subsection{测试工具与方法}
\begin{table}[H]
    \centering
    \caption{测试工具与对应场景}
    \label{tab:test_tools}
    \begin{tabular}{lll}
        \toprule
        测试类型 & 测试工具 & 测试场景 \\
        \midrule
        OLTP性能 & sysbench 1.0.20 & 关系型数据库读写性能 \\
        时序性能 & TSBS (Time Series Benchmark Suite) & 时间序列数据写入查询 \\
        接口压力 & Apache JMeter & RESTful API性能测试 \\
        向量检索 & 自定义基准测试 & 相似度搜索性能 \\
        容器部署 & Docker Compose & 部署复杂度和资源隔离 \\
        监控采集 & Prometheus + Grafana & 资源使用监控可视化 \\
        \bottomrule
    \end{tabular}
\end{table}

\textbf{测试方法说明：}
\begin{itemize}
    \item \textbf{基准测试：} 使用标准化测试工具确保结果可比性
    \item \textbf{渐进测试：} 从单机部署测试扩展到集群部署测试
    \item \textbf{混合负载：} 模拟真实业务场景的混合读写负载
    \item \textbf{极限测试：} 测试系统在资源极限状态下的表现
\end{itemize}